package main

import "fmt"

/*
go支持只提供类型而不写字段名的方式，也就是匿名字段，也称为嵌入字段
*/

//    go支持只提供类型而不写字段名的方式，也就是匿名字段，也称为嵌入字段

//人
type Person5 struct {
	name string
	sex  string
	age  int
}

type Student5 struct {
	//匿名字段
	Person5
	id   int
	addr string
}

func main() {
	// 初始化
	s1 := Student5{Person5{"5lmh", "man", 20}, 1, "bj"}
	fmt.Println(s1)

	s2 := Student5{Person5: Person5{"5lmh", "man", 20}}
	fmt.Println(s2)

	s3 := Student5{Person5: Person5{name: "5lmh"}}
	fmt.Println(s3)

	/*
		{{5lmh man 20} 1 bj}
		{{5lmh man 20} 0 }
		{{5lmh  0} 0 }
	*/
}
